Data processing is a routine of every computer in the world. Modern computers are connected by networks and perform processing of data items in structures like for instance computer clouds. The data items can be related and/or the processing of the data items can be related. Optimal performance of this configuration depends on many factors such as computing power of each computer, structuring and sequence of data processing, organization of data transmission between the computers, etc. Non-optimal selection of these parameters and the like can compromise the performance of the computer cloud. For instance, when one computer in the computer cloud has much higher performance than the other computers in the computer cloud it can perform the major load of data processing in the computer cloud. However sharing of the results generated by this computer with the other computers can demand substantial network resources for communicating the generated results to the other computers in the computer cloud. The problem of resource allocation in the computer cloud gets more complicated when a synergetic performance of computers and other resources in the computer cloud having substantially heterogeneous properties is required. Specific features of networks, computer architectures of the computers, specific aspects of data processing, etc. have to be taken into account for optimal performance of the computer cloud. In addition various aspects of data protection have to be taken into account.